Qt: QMultiWin Example v1.1
==========================

This Qt example application demonstrates how to create application that uses multiple windows. Sometimes it is not enough to have only one main window and some dialogs, this example show how to support multiple windows, how to let user return back to main window and how to create needed menus and CBA buttons for the child windows.

This application has been tested on Symbian^3 and Maemo (Nokia N900 PR1.2, PR1.3) and Windows XP with Qt 4.7.0 release.

-------------------------------------------------------------------------------

PREREQUISITES

- Qt basics

-------------------------------------------------------------------------------

IMPORTANT FILES/CLASSES

- mainwindow.h: Application QMainWindow that creates needed child windows
- imagewidget.h: Widget that shows selected image and is used in all child windows
- imageloader.h: Class for loading images using QImageReader
- keyeventlistener.h: Listening application's keyboard and mouse events
- Main.qml: QML file that shows GridView
- ListItem.qml: QML item for the GridView

Important classes: QMainWindow, QMdiArea, QMdiSubWindow, QWidget, QDeclarativeView

-------------------------------------------------------------------------------

REQUIRED CAPABILITIES

None.

-------------------------------------------------------------------------------

DESIGN CONSIDERATIONS

Windows version uses MDI windows where child windows reside under a single parent window, see more http://en.wikipedia.org/wiki/Multiple_document_interface

Maemo version uses Maemo5 StackedWindow system where user can return from child window to the main pressing back arrow from the toolbar, see more http://doc.qt.nokia.com/qt-maemo-4.7/maemo5-stackedwindows.html

Symbian version uses multiple QMainWindows on top of each other, where each window can have own menus and CBA buttons. QStackedWindow is another solution for implement multiple windows, see more from QStackedWindow Example in Forum Nokia site.

Example shows some Symbian^3 related solutions:
- Setting context-menu items into the application menu when using device keyboard (Nokia E7) and hiding them when using touch screen


-------------------------------------------------------------------------------

KNOWN SYMBIAN ISSUES

None.

-------------------------------------------------------------------------------

RUNNING THE EXAMPLE

Application loads all images from the device images folder and its subfolders.
Images icon are shown in the QML GridList. From that list user can select image and it is shown on the new window.

-------------------------------------------------------------------------------

BUILD & INSTALLATION INSTRUCTIONS

Preparations
~~~~~~~~~~~~
Check that you have at least latest Qt / Nokia Qt SDK installed in the development environment and on the device.

Build & installation instructions using Nokia Qt SDK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Open qmultiwinexample.pro
   File -> Open File or Project, select qmultiwinexample.pro

2. Select target(s), for example "Qt for Symbian Devices (Nokia Qt SDK)" and press Finish button

3. Press Run button for the build the project and qmultiwinexample.sis Symbian install package is created

4. Install qmultiwinexample.sis into your device using Nokia Ovi Suite or Nokia PC Suite

Build using Nokia Qt SDK, MADDE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Start MADDE Terminal
2. Go to project folder
3. Build debian package
  mad qmake
  mad dpkg-buildpackage -b

Setting up Qt for Maemo on the Nokia N900 device
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Enable root access, if missing:
1. Applications menu > More > App manager > Menu > Application catalogues 
   > Maemo Extras Devel > Untick Disabled > Save
2. Applications menu > More > App manager > Download > Menu > Search 
   > Type rootsh > Search > rootsh

Qt is included in the device�s Nokia Applications repository:
1. Applications menu > More > X Terminal
  sudo gainroot
  apt-get install libqt4-gui
  

Installing and running the application on a Maemo device
""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Enable root access, if missing:
1. Applications menu > More > App manager > Menu > Application catalogues 
   > Maemo Extras Devel > Untick Disabled > Save
2. Applications menu > More > App manager > Download > Menu > Search 
   > Type rootsh > Search > rootsh

Install the application from the X Terminal:
1. Applications menu > More > X Terminal
  sudo gainroot
  dpkg -i path/to/QMultiWinExample_xxx.deb

2. Start the application from the QMultiWinEx icon on the Nokia N900 device.


-------------------------------------------------------------------------------

COMPATIBILITY

- Qt 4.7
- Nokia Qt SDK 1.0
- Nokia Qt SDK 1.0 MADDE Tools

Tested on: 

- Nokia N8
- Nokia E7
- Nokia N900 (PR1.3 firmware)
- Windows XP

Developed with:
- Qt 4.7
- Nokia Qt SDK 1.0


-------------------------------------------------------------------------------

VERSION HISTORY

1.1 Updated UI for showing image list. Qt Quick replaces QListWidget component
1.0 First version

-------------------------------------------------------------------------------

RELATED DOCUMENTATION

QStackedWidget Example for Symbian: http://www.forum.nokia.com/info/sw.nokia.com/id/a871842c-b1c3-4aa2-9e1a-18336ac0e98c/Qt_for_S60_QStackedWidget_Example_v1_0_en.zip.html

Download Qt:
http://qt.nokia.com/downloads

